time: 2021.3
# -*- coding: utf-8 -*-
# @Time    : 2021/4/21 22:19
# @Author  : luogan
# @Email   : 468640092@qq.com
# @File    : a+=1 与 a=a+1.py
# @Software: PyCharm.

# a+=1 与 a=a+1有什么区别
# 对于可变对象， a+=1 直接在原内存地址上操作a=a+1开辟新的内存操作
# 对于不可变对象，a+=1和a=a+1都是在新开辟的空间操作

#对于可变类型， +=内存地址没有改变，而对于不可变类型，内存地址增加了4个字节。而=+这种操作都是增加4个字节。
# 不可变类型 +=
# >>> a = 1
# >>> id(a)
# 1413313168
# >>> a += 1
# >>> id(a)
# 1413313200
#
#  不可变类型 =+
# >>> a = 1
# >>> id(a)
# 1413313168
# >>> a = a+1
# >>> id(a)
# 1413313200
#
# 可变类型 +=
# >>> a = [1]
# >>> id(a)
# 2183116152904
# >>> a += [1]
# >>> id(a)
# 2183116152904
#
# 可变类型 =+
# >>> a = [1]
# >>> id(a)
# 2183116152904
# >>> a = a+[1]
# >>> id(a)
# 2183116155400



